Neste relatório, iremos explorar os dados da atriz Julia Roberts. Os dados foram extraídos do RottenTomatoes.

import_data("julia_roberts")
## Loading required package: rvest
## Loading required package: xml2
## 
## Attaching package: 'rvest'
## The following object is masked from 'package:purrr':
## 
##     pluck
## The following object is masked from 'package:readr':
## 
##     guess_encoding
## Warning in evalq(as.numeric(gsub("[$|M]", "", `BOX OFFICE`)),
## <environment>): NAs introduzidos por coerção
filmes = read_imported_data()

Bilheteria x Ano de lançamento

p = filmes %>% 
    ggplot(aes(size = avaliacao, x = ano, 
               y = bilheteria, 
               text = paste("Filme:",filme,
                            "\nBilheteria:",
                            bilheteria,"m",
                            "\nAvaliação:", avaliacao,
                            "\nAno:",ano))) +
    geom_point(color = paleta[5]) +
    labs(y = "Bilheteria", x = "Ano de lançamento")
ggplotly(p, tooltip = "text")

O tamanho do ponto cresce de acordo com a avaliação.

Há uma variação no faturamento dos filmes em que Julia Roberts atuou, o que mais se destacou nesse aspecto foi Ocean’s Eleven com bilheteria de 183.4 m. Além disso, percebemos que entre os anos de 2005 e 2016 houve uma queda no faturamento dos filmes.

filmes %>% 
    ggplot(aes(x = bilheteria)) + 
    geom_histogram(binwidth = 15, fill = paleta[2], color = "black") + 
    geom_rug(size = .5) 

filmes %>% 
    ggplot(aes(x = avaliacao)) + 
    geom_histogram(binwidth = 10, boundary = 0, fill = paleta[3], color = "black") + 
    geom_rug(size = .5) 

Estrutura de grupos?

p = filmes %>% 
    ggplot(aes(x = "", y = bilheteria, label = filme)) + 
    geom_jitter(width = .05, alpha = .3, size = 3) + 
    labs(x = "")

ggplotly(p)

Agrupamento hierárquico

agrupamento_h = filmes %>% 
    mutate(nome = paste0(filme, " (av=", avaliacao, ")")) %>% 
    as.data.frame() %>% 
    column_to_rownames("filme") %>% 
    select(avaliacao) %>%
    dist(method = "euclidian") %>% 
    hclust(method = "ward.D")

ggdendrogram(agrupamento_h, rotate = T, size = 2, theme_dendro = F) + 
    labs(y = "Dissimilaridade", x = "", title = "Dendrograma")

get_grupos <- function(agrupamento, num_grupos){
    agrupamento %>% 
        cutree(num_grupos) %>% 
        as.data.frame() %>% 
        mutate(label = rownames(.)) %>% 
        gather(key =  "k", value = "grupo", -label) %>% 
        mutate(grupo = as.character(grupo))
}

atribuicoes = get_grupos(agrupamento_h, num_grupos = 1:6)

atribuicoes = atribuicoes %>% 
    left_join(filmes, by = c("label" = "filme"))

atribuicoes %>% 
    ggplot(aes(x = "Filmes", y = avaliacao, colour = grupo)) + 
    geom_jitter(width = .02, height = 0, size = 1.6, alpha = .6) + 
    facet_wrap(~ paste(k, " grupos")) + 
    scale_color_brewer(palette = "Dark2")

k_escolhido = 3

atribuicoes %>% 
    filter(k == k_escolhido) %>% 
    ggplot(aes(x = reorder(label, avaliacao), y = avaliacao, colour = grupo)) + 
    geom_jitter(width = .02, height = 0, size = 3, alpha = .6) + 
    facet_wrap(~ paste(k, " grupos")) + 
    scale_color_brewer(palette = "Dark2") + 
    labs(x = "", y = "Avaliação RT") + 
    coord_flip()